package Day019_Junit单元测试_NIO.demo3_Buffer类_缓冲区;

import java.nio.ByteBuffer;

/**
 * @author zhangyan
 * @date 2020/5/12 11:12
 */
public class Test6_位置position {
    public static void main(String[] args) {
        /*
            位置position是指：当前可写入的索引。位置不能小于0，并且不能大于"限制"

            有两个相关方法：
                    public int position()：获取当前可写入位置索引。
                    public Buffer position(int p)：更改当前可写入位置索引
         */

        //创建ByteBuffer缓冲数组 容量为10
        ByteBuffer bb = ByteBuffer.allocate(10);

        //添加元素
        bb.put((byte) 1);
        bb.put((byte) 2);
        bb.put((byte) 3);

        System.out.println("容量:" + bb.capacity() + "限制:" + bb.limit() + "位置" + bb.position());
        //容量:10限制:10位置3


        //设置当前位置索引
        bb.position(6); //当前可写入的索引为6
        //添加数据
        bb.put((byte) 4); //指定位置添加:7索引
        bb.put((byte) 5); //指定位置添加:8索引

        System.out.println("容量:" + bb.capacity() + "限制:" + bb.limit() + "位置" + bb.position());
        //容量:10限制:10位置8

    }
}
